<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Freetype OpenGL: texture_font_t Struct Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="style.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="content"><!-- do not remove this div! -->

<div id="top"><!-- do not remove this div! -->

  
  <div id="titlearea">
    
    <div id="projectname">Freetype OpenGL</div>
    
    
    <div id="projectbrief">A high quality OpenGL text rendering engine for C</div>
    
  </div>
  

<!--

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Freetype OpenGL
   &#160;<span id="projectnumber">0.1</span>
   </div>
   <div id="projectbrief">A high quality OpenGL text rendering engine for C</div>
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>
-->


<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">texture_font_t Struct Reference<div class="ingroups"><a class="el" href="group__texture-font.html">Texture font</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Texture font structure. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demo-atb-agg_8c-example.html#_a24">demo-atb-agg.c</a>, <a class="el" href="demo-benchmark_8c-example.html#_a1">demo-benchmark.c</a>, <a class="el" href="demo-cartoon_8c-example.html#_a4">demo-cartoon.c</a>, <a class="el" href="demo-display-list_8c-example.html#_a2">demo-display-list.c</a>, <a class="el" href="demo-distance-field_8c-example.html#_a2">demo-distance-field.c</a>, <a class="el" href="demo-font_8c-example.html#_a2">demo-font.c</a>, <a class="el" href="demo-outline_8c-example.html#_a5">demo-outline.c</a>, and <a class="el" href="demo-texture_8c-example.html#_a2">demo-texture.c</a>.</dd>
</dl></div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a54b4c23fc9a156ffe265c4bae9818459"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54b4c23fc9a156ffe265c4bae9818459"></a>
<a class="el" href="structvector__t.html">vector_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a54b4c23fc9a156ffe265c4bae9818459">glyphs</a></td></tr>
<tr class="memdesc:a54b4c23fc9a156ffe265c4bae9818459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector of glyphs contained in this font. <br/></td></tr>
<tr class="memitem:a7af3cbcbd3ac09b0765ca1afd6310ac5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7af3cbcbd3ac09b0765ca1afd6310ac5"></a>
<a class="el" href="structtexture__atlas__t.html">texture_atlas_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a7af3cbcbd3ac09b0765ca1afd6310ac5">atlas</a></td></tr>
<tr class="memdesc:a7af3cbcbd3ac09b0765ca1afd6310ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Atlas structure to store glyphs data. <br/></td></tr>
<tr class="memitem:a069632a383a2ffc7a2ee9bd7658edb74"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a069632a383a2ffc7a2ee9bd7658edb74"></a>
char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a069632a383a2ffc7a2ee9bd7658edb74">filename</a></td></tr>
<tr class="memdesc:a069632a383a2ffc7a2ee9bd7658edb74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Font filename. <br/></td></tr>
<tr class="memitem:a6bf154effb93de069e9732dd82015f55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bf154effb93de069e9732dd82015f55"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a6bf154effb93de069e9732dd82015f55">size</a></td></tr>
<tr class="memdesc:a6bf154effb93de069e9732dd82015f55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Font size. <br/></td></tr>
<tr class="memitem:a0539f19037c06a115b0ff441e66449a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0539f19037c06a115b0ff441e66449a9"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a0539f19037c06a115b0ff441e66449a9">hinting</a></td></tr>
<tr class="memdesc:a0539f19037c06a115b0ff441e66449a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to use autohint when rendering font. <br/></td></tr>
<tr class="memitem:afeb9b856800fae9d5f01328022566f08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afeb9b856800fae9d5f01328022566f08"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#afeb9b856800fae9d5f01328022566f08">outline_type</a></td></tr>
<tr class="memdesc:afeb9b856800fae9d5f01328022566f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outline type (0 = None, 1 = line, 2 = inner, 3 = outer) <br/></td></tr>
<tr class="memitem:a2ca8ecdb553c2fcf6226b6c65f157902"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ca8ecdb553c2fcf6226b6c65f157902"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a2ca8ecdb553c2fcf6226b6c65f157902">outline_thickness</a></td></tr>
<tr class="memdesc:a2ca8ecdb553c2fcf6226b6c65f157902"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outline thickness. <br/></td></tr>
<tr class="memitem:a2fd58e98976e3985b1ed06f6e08299bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fd58e98976e3985b1ed06f6e08299bf"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a2fd58e98976e3985b1ed06f6e08299bf">filtering</a></td></tr>
<tr class="memdesc:a2fd58e98976e3985b1ed06f6e08299bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to use our own lcd filter. <br/></td></tr>
<tr class="memitem:a6d2347450ec91e7148d211b21aed05d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d2347450ec91e7148d211b21aed05d4"></a>
unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a6d2347450ec91e7148d211b21aed05d4">lcd_weights</a> [5]</td></tr>
<tr class="memdesc:a6d2347450ec91e7148d211b21aed05d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">LCD filter weights. <br/></td></tr>
<tr class="memitem:a8bd92ddb4c8e456aac6a21f6c268b360"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a8bd92ddb4c8e456aac6a21f6c268b360">height</a></td></tr>
<tr class="memdesc:a8bd92ddb4c8e456aac6a21f6c268b360"><td class="mdescLeft">&#160;</td><td class="mdescRight">This field is simply used to compute a default line spacing (i.e., the baseline-to-baseline distance) when writing text with this font.  <a href="#a8bd92ddb4c8e456aac6a21f6c268b360"></a><br/></td></tr>
<tr class="memitem:af40d45f0616a523d97206e6e0e72f421"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#af40d45f0616a523d97206e6e0e72f421">linegap</a></td></tr>
<tr class="memdesc:af40d45f0616a523d97206e6e0e72f421"><td class="mdescLeft">&#160;</td><td class="mdescRight">This field is the distance that must be placed between two lines of text.  <a href="#af40d45f0616a523d97206e6e0e72f421"></a><br/></td></tr>
<tr class="memitem:a592d471a60e7506f516af0fa4713da0e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a592d471a60e7506f516af0fa4713da0e">ascender</a></td></tr>
<tr class="memdesc:a592d471a60e7506f516af0fa4713da0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ascender is the vertical distance from the horizontal baseline to the highest 'character' coordinate in a font face.  <a href="#a592d471a60e7506f516af0fa4713da0e"></a><br/></td></tr>
<tr class="memitem:af310fa623576a8436bff9354f9a5c048"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#af310fa623576a8436bff9354f9a5c048">descender</a></td></tr>
<tr class="memdesc:af310fa623576a8436bff9354f9a5c048"><td class="mdescLeft">&#160;</td><td class="mdescRight">The descender is the vertical distance from the horizontal baseline to the lowest 'character' coordinate in a font face.  <a href="#af310fa623576a8436bff9354f9a5c048"></a><br/></td></tr>
<tr class="memitem:af3efeacc20feb706583b5220582aa107"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#af3efeacc20feb706583b5220582aa107">underline_position</a></td></tr>
<tr class="memdesc:af3efeacc20feb706583b5220582aa107"><td class="mdescLeft">&#160;</td><td class="mdescRight">The position of the underline line for this face.  <a href="#af3efeacc20feb706583b5220582aa107"></a><br/></td></tr>
<tr class="memitem:a20fc8ea7a7b03fde93894d559801ede3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtexture__font__t.html#a20fc8ea7a7b03fde93894d559801ede3">underline_thickness</a></td></tr>
<tr class="memdesc:a20fc8ea7a7b03fde93894d559801ede3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thickness of the underline for this face.  <a href="#a20fc8ea7a7b03fde93894d559801ede3"></a><br/></td></tr>
</table>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="a592d471a60e7506f516af0fa4713da0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#a592d471a60e7506f516af0fa4713da0e">texture_font_t::ascender</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The ascender is the vertical distance from the horizontal baseline to the highest 'character' coordinate in a font face. </p>
<p>Unfortunately, font formats define the ascender differently. For some, it represents the ascent of all capital latin characters (without accents), for others it is the ascent of the highest accented character, and finally, other formats define it as being equal to bbox.yMax. </p>

</div>
</div>
<a class="anchor" id="af310fa623576a8436bff9354f9a5c048"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#af310fa623576a8436bff9354f9a5c048">texture_font_t::descender</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The descender is the vertical distance from the horizontal baseline to the lowest 'character' coordinate in a font face. </p>
<p>Unfortunately, font formats define the descender differently. For some, it represents the descent of all capital latin characters (without accents), for others it is the ascent of the lowest accented character, and finally, other formats define it as being equal to bbox.yMin. This field is negative for values below the baseline. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demo-benchmark_8c-example.html#a26">demo-benchmark.c</a>, and <a class="el" href="demo-console_8c-example.html#a37">demo-console.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8bd92ddb4c8e456aac6a21f6c268b360"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#a8bd92ddb4c8e456aac6a21f6c268b360">texture_font_t::height</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This field is simply used to compute a default line spacing (i.e., the baseline-to-baseline distance) when writing text with this font. </p>
<p>Note that it usually is larger than the sum of the ascender and descender taken as absolute values. There is also no guarantee that no glyphs extend above or below subsequent baselines when using this distance. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demo-atb-agg_8c-example.html#a34">demo-atb-agg.c</a>, <a class="el" href="demo-benchmark_8c-example.html#a27">demo-benchmark.c</a>, <a class="el" href="demo-console_8c-example.html#a34">demo-console.c</a>, <a class="el" href="demo-display-list_8c-example.html#a11">demo-display-list.c</a>, and <a class="el" href="demo-font_8c-example.html#a28">demo-font.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="af40d45f0616a523d97206e6e0e72f421"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#af40d45f0616a523d97206e6e0e72f421">texture_font_t::linegap</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This field is the distance that must be placed between two lines of text. </p>
<p>The baseline-to-baseline distance should be computed as: ascender - descender + linegap </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demo-benchmark_8c-example.html#a28">demo-benchmark.c</a>, and <a class="el" href="demo-console_8c-example.html#a36">demo-console.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="af3efeacc20feb706583b5220582aa107"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#af3efeacc20feb706583b5220582aa107">texture_font_t::underline_position</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The position of the underline line for this face. </p>
<p>It is the center of the underlining stem. Only relevant for scalable formats. </p>

</div>
</div>
<a class="anchor" id="a20fc8ea7a7b03fde93894d559801ede3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="structtexture__font__t.html#a20fc8ea7a7b03fde93894d559801ede3">texture_font_t::underline_thickness</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The thickness of the underline for this face. </p>
<p>Only relevant for scalable formats. </p>

</div>
</div>
</div><!-- contents -->
</div>
</body>
</html>
